import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)


//配置全局状态，写法1
//全局状态(data)
const state = {
	lon:123,
	lat:23
}
//全局计算状态(computed)，不能修改，通过state计算得到
const getters = {
	count(state){
		return state.lon+state.lat;
	}
}
//全局函数(methods)，同步执行
const mutations = {
	//参数：1、原来state的值，2、params传进来的新值
	modify(state,params){
		state.lat = params.lat;
		state.lon = params.lon;
	}
}
//全局函数(methods)，异步执行，ajax
const actions = {
	actionsFn(context,params){
		//参数：1、原来store对象，写成context，2、params传进来的新值
		console.log(context,params)
		//调用mutations的方法
		context.commit("modify",{
			lat:88888,
			lon:88888
		})
	}
}



export default new Vuex.Store({
	state,
	getters,
	mutations,
	actions
	
	/*
	//配置全局状态，写法2
	//全局状态(data)
	state:{
		lon:123,
		lat:23
	},
	//全局计算状态(computed)，不能修改，通过state计算得到
	getters:{
		count(state){
			return state.lon+state.lat;
		}
	},
	//全局函数(methods)，同步执行
	mutations:{
		//参数：1、原来state的值，2、params传进来的新值
		modify(state,params){
			state.lat = params.lat;
			state.lon = params.lon;
		}
	},
	//全局函数(methods)，异步执行，ajax
	actions:{
		actionsFn(context,params){
			//参数：1、原来store对象，写成context，2、params传进来的新值
			console.log(context,params)
		}
		//调用mutations的方法
		context.commit("modify",{
			lat:88888,
			lon:88888
		})
	}
	*/
})
